/*MyPhotoIndex Free Photo Organizer <www.myphotoindex.com>
  Copyright (C) <2006-2009>  <Asaf Yarkoni asaf@yarkoni.net>

  This program is free software: you can redistribute it and/or modify
  it under the terms of the GNU General Public License as published by
  the Free Software Foundation, either version 3 of the License, or
  (at your option) any later version.

  This program is distributed in the hope that it will be useful,
  but WITHOUT ANY WARRANTY; without even the implied warranty of
  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  GNU General Public License for more details.

  You should have received a copy of the GNU General Public License
  along with this program.  If not, see <http://www.gnu.org/licenses/>.*/
using System;
using System.Collections.Generic;
using System.Text;
using System.Runtime.Serialization;
using System.Security.Permissions;

namespace MyPhotoIndex.Importer
{
    [SerializableAttribute]
    public sealed class ImageImportException : Exception
    {
        private string m_fileName;

        public ImageImportException(string fileName, Exception ex):
        base(fileName, ex)
        {
            m_fileName = fileName;
        }

        public ImageImportException()
        {
        }

        public ImageImportException(string fileName)
        {
            m_fileName = fileName;
        }

        public ImageImportException(string fileName, string message):
            base(message)
        {
            m_fileName = fileName;
        }

        private ImageImportException(SerializationInfo info, StreamingContext context)
        {
        }

        public string FileName
        {
            get { return m_fileName; }
            set { m_fileName = value; }
        }

        [SecurityPermissionAttribute(SecurityAction.Demand, SerializationFormatter=true)]
        public override void GetObjectData( SerializationInfo info, StreamingContext context)
        {
            base.GetObjectData(info, context);
        }
    }
}
